#ifndef _COLOUR_H_
#define _COLOUR_H_

#include <common.h>

class Colour3
{
  public:
  union
  {
    struct
    {
      uint8 r, g, b;
      uint8 elements[3];
    };
  };
};

class Colour
{
  public:
  static Colour BLACK;
  static Colour WHITE;
  
  static Colour GREY;
  static Colour L_GREY;
  static Colour D_GREY;
  
  static Colour RED;
  static Colour GREEN;
  static Colour BLUE;
  static Colour YELLOW;
  
  Colour() {}
  Colour(unsigned value): value(value) {}
  Colour(unsigned char r, unsigned char g, unsigned char b, unsigned char a):
    r(r), g(g), b(b), a(a) {}
  
  union
  {
    struct
    {
      uint8 r, g, b, a;
    };
    uint8 elements[4];
    uint32 value;
  };
};

#endif
